package edu.eam.paii.proyecto.entidades;

import java.io.Serializable;
import java.util.List;

import javax.persistence.*;

@Entity
/**
 * @author Hector Bedoya Ortegon
 * @author Felipe Suarez Bedoya
 * Esta entidad permite administrar toda la informacion de una sucursal. 
 **/

/**
 * Name quevery 
 */
@NamedQueries(value = { @NamedQuery(name="Sucursal.listar", 
		query="select S from Sucursal S"),
		
	
})
public class Sucursal implements Serializable {
	@Id
	private int id_Sucursal;
	@ManyToOne
	@JoinColumn(name = "id_Entidad")
	private Entidad entidadSucursal;

	@ManyToOne
	@JoinColumn(name = "id_Direccion")
	private Direccion direccionSucursal;

	@OneToMany(mappedBy = "sucursalCajero", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
	private List<Cajero> Cajeros;

	@OneToOne
	@JoinColumn(name = "nro_caja", unique = true, nullable = true, updatable = false)
	private Caja_Fuerte caja;
	
	@OneToMany(mappedBy = "sucursal_Cajero", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
	private List<Cajero_Electronico> CajerosElect;

	@OneToOne
	@JoinColumn(name = "nro_cajaFuerte", unique = true, nullable = true, updatable = false)
	private Caja_Fuerte cajaFuerte;	
}
